home *** CD-ROM | disk | FTP | other *** search
/ One Click 21 (Special) / OC021.iso / Juegos / King of Skeleton / King of Skeleton.swf / scripts / __Packages / PickupManager.as < prev    next >
Encoding:
Text File  |  2006-02-02  |  3.1 KB  |  84 lines

  1. class PickupManager
  2. {
  3.    var circs;
  4.    var curPicks;
  5.    var root;
  6.    static var po = 280;
  7.    static var cd = 2;
  8.    static var ca = 18;
  9.    function PickupManager(r)
  10.    {
  11.       this.circs = new Array();
  12.       this.curPicks = new Object();
  13.       this.root = r;
  14.    }
  15.    function drawPickups(track, visPick, player)
  16.    {
  17.       var _loc12_ = 0;
  18.       while(_loc12_ < visPick.length)
  19.       {
  20.          var _loc4_ = visPick[_loc12_].d - player.d;
  21.          if(!visPick[_loc12_].col && _loc4_ <= PickupManager.cd && Math.abs(player._rotation + 90 - visPick[_loc12_].a * Trig.rd) < PickupManager.ca)
  22.          {
  23.             visPick[_loc12_].collected(player,this.root);
  24.          }
  25.          else
  26.          {
  27.             var _loc7_ = this.circs[Math.floor(_loc4_ / BackgroundMask.cd)];
  28.             var _loc5_ = 0;
  29.             while(track[_loc5_].tl < visPick[_loc12_].d)
  30.             {
  31.                _loc5_ = _loc5_ + 1;
  32.             }
  33.             var _loc9_ = track[_loc5_ - 1];
  34.             if(visPick[_loc12_].mc)
  35.             {
  36.                var _loc3_ = visPick[_loc12_].mc;
  37.                if(_loc3_._parent != _loc7_)
  38.                {
  39.                   _loc3_.removeMovieClip();
  40.                   _loc3_ = _loc7_.attachMovie(visPick[_loc12_].t.n,visPick[_loc12_].t.n + Math.floor(visPick[_loc12_].d * 100000),_loc4_ * 10000);
  41.                   visPick[_loc12_].mc = _loc3_;
  42.                   this.curPicks[_loc3_._name] = _loc3_;
  43.                }
  44.                else
  45.                {
  46.                   _loc3_.swapDepths(_loc4_ * 10000);
  47.                }
  48.             }
  49.             else
  50.             {
  51.                if(!_loc9_.s)
  52.                {
  53.                   visPick[_loc12_].a += LineIndicator.iac / _loc9_.r * _loc9_.d * Math.sin(player.ps / Vars.tVel * 1.5707963267948966);
  54.                }
  55.                visPick[_loc12_].a += Misc.rand(-0.175,0.175);
  56.                _loc3_ = _loc7_.attachMovie(visPick[_loc12_].t.n,visPick[_loc12_].t.n + Math.floor(visPick[_loc12_].d * 100000),_loc4_ * 10000);
  57.                visPick[_loc12_].mc = _loc3_;
  58.                this.curPicks[_loc3_._name] = _loc3_;
  59.             }
  60.             var _loc6_ = Vars.fl / (Vars.fl + _loc4_);
  61.             _loc3_._xscale = !visPick[_loc12_].t.f ? _loc6_ * 100 : _loc6_ * -100;
  62.             _loc3_._yscale = _loc6_ * 100;
  63.             var _loc11_ = _loc4_ * Math.tan(player.va);
  64.             _loc3_._x = PickupManager.po * Math.cos(visPick[_loc12_].a) * _loc6_ + Vars.hps * track.viewOffset(_loc9_,_loc4_,player) - _loc7_._x;
  65.             _loc3_._y = PickupManager.po * Math.sin(visPick[_loc12_].a) * _loc6_ + Vars.vps * (player.z - track.getHeightAt(_loc9_,visPick[_loc12_].d) - _loc11_) - _loc7_._y;
  66.             _loc3_.vis = true;
  67.          }
  68.          _loc12_ = _loc12_ + 1;
  69.       }
  70.       for(_loc12_ in this.curPicks)
  71.       {
  72.          if(this.curPicks[_loc12_].vis || this.curPicks[_loc12_].col)
  73.          {
  74.             this.curPicks[_loc12_].vis = false;
  75.          }
  76.          else
  77.          {
  78.             this.curPicks[_loc12_].removeMovieClip();
  79.             delete this.curPicks[_loc12_];
  80.          }
  81.       }
  82.    }
  83. }
  84.